home *** CD-ROM | disk | FTP | other *** search
- %
- % button9101.ps - A GNU Button Program
- %
- % Copyright 1991 Free Software Foundation
- %
- % This program is free software; you can redistribute it and/or modify
- % it under the terms of the GNU General Public License as published by
- % the Free Software Foundation; either version 1, or (at your option)
- % any later version.
- %
- % This program is distributed in the hope that it will be useful,
- % but WITHOUT ANY WARRANTY; without even the implied warranty of
- % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- % GNU General Public License for more details.
- %
- % You should have received a copy of the GNU General Public License
- % along with this program; if not, write to the Free Software
- % Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- %
- % Hard copies of this button were first distributed at the January 1991
- % Dallas Usenix. They had black lettering on a yellow background on a
- % standard 2 1/4" safety pin button. They were designed by Leonard H.
- % Tower Jr. who is also the author of this GNU Button Program.
- %
- % Report bugs or improvements to: tower@prep.ai.mit.edu
- %
- % Hard copies of this button are probably still available. To get a
- % button, one must have either donated source code or documentation to
- % the GNU Project or make a donation of at least $ 2.00 for each button.
- %
- % If you wish a hard copy of a gnu button send:
- % - a self-addressed, stamped envelope; and
- % - either:
- % - a reminder of your source or documentation contribution; or
- % - a donation payable to the "Free Software Foundation"; and
- % - specify which of these different versions you wish:
- % Feb 88, Jun 88, Jan 89, Jun 89, Jan 90, Jun 90, and/or Jan 91
- % to: L. Tower Jr.
- % 36 Porter Street,
- % Somerville, MA 02143, USA
- %
- % This program is available for anonymous ftp
- % prep.ai.mit.edu:/u2/emacs/button.N.MM.shar. It is probably available
- % in other source archives.
-
- %.so ehandler.ps
-
- % Uses pathtext routine from Adobe Cookbook.
- .so pathtext.ps
-
- % center button on 8 1/2" x 11" page
- 306 396 translate
-
- % This is a kludge to give better edge resolution.
- % Note that postscript's scale command doesn't cut it.
- % It scales after the edges are set.
- % biggg is set to 2,3,4 or 3.9 to make a master that is that much larger.
- % The master is reduced that much by the button manufacturer.
- % If only 1200 dpi postscript printers were more common ...
- /biggg 1 def
-
- % useful for centering things
- /circleguide {
- gsave
- /radius 82 biggg mul def
- .5 setlinewidth
- newpath
- 0 0 radius 0 360 arc
- stroke
- grestore
- } def
-
- %circleguide
-
- /setdimen {
- /letsep exch biggg mul def % half the width of a letter
- /letrad exch biggg mul def
- /letinside 18 biggg mul def % vertical distance from center line to radius
- /letheightlow letrad letinside add def
- /letheight letheightlow linewidth 2 div add def
- /letwidth letrad 2 mul def
- } def
-
- /g_path {
- newpath
- gxcenter letinside letrad 0 180 arc
- gxcenter letinside neg letrad 180 0 arc
- 0 letinside 3 div rlineto
- 13.7 neg biggg mul 0 rlineto
- } def
-
- /u_path {
- newpath
- /nxcenter gxcenter neg def
- /nleft nxcenter letrad neg add def
- /nright nxcenter letrad add def
- nleft letheight moveto
- nxcenter letinside neg letrad 180 0 arc
- nright letheight lineto
- } def
-
- /center_dim { 16 16 setdimen } def
-
- /outside_dim { 15.5 16.5 setdimen } def
-
- /inside_dim { 16.5 15.5 setdimen } def
-
- gsave
- % define the basic dimensions of the letters
- % people are welcome to call this typeface: austere gothic
- /linewidth 11 biggg mul def
-
- /Helvetica-Narrow-Bold findfont 6 biggg mul scalefont setfont
- linewidth setlinewidth
- 0 setlinejoin
- 0 setlinecap
-
- % give us a G !
- 0 setgray
- center_dim
- /gxcenter letrad 2 mul letsep add neg def
- g_path
- stroke
-
- 1 setgray
- outside_dim
- g_path
- ( 675 MASSACHUSETTS AVE, CAMBRIDGE, MA 02139 USA)
- 0 pathtext
-
- inside_dim
- g_path
- reversepath
- (THANXGNU!! COPYRIGHT 1991 FREE SOFTWARE FOUNDATION)
- 0 pathtext
-
- % give us a N !
- 0 setgray
- center_dim
- newpath
- letrad neg letheight neg moveto
- letrad neg letheightlow lineto
- letrad letheightlow neg lineto
- letrad letheight lineto
- stroke
-
- 1 setgray
- newpath
- /bla .5 biggg mul def % amount to move baseline by
- /nadj bla 1.2 mul biggg mul def % amount to adjust diagonal of the n
- letrad bla add neg letheight neg moveto
- letrad bla add neg letheightlow nadj add lineto
- letrad bla sub letheightlow nadj sub neg lineto
- letrad bla sub letheight lineto
- % This is a kludge to make the slashes bolder
- /slashwidthadj (/) stringwidth pop % don't need y
- 4.1 div def
- gsave
- ( FROM PREP.AI.MIT.EDU FILE /)
- 0 pathtext
- grestore
- gsave
- (/pub/)
- ( FROM PREP.AI.MIT.EDU FILE /) stringwidth pop % don't need y
- slashwidthadj 3.4 mul sub
- pathtext
- grestore
- gsave
- (/gnu/)
- ( FROM PREP.AI.MIT.EDU FILE /pub/) stringwidth pop % don't need y
- slashwidthadj 4.2 mul sub
- pathtext
- grestore
- gsave
- % extra space is to turn the tight bend in the N.
- (/button.N.MM.shar. GNU'S NOT UNIX!)
- ( FROM PREP.AI.MIT.EDU FILE /pub/gnu/) stringwidth pop % don't need y
- slashwidthadj 5.2 mul sub
- pathtext
- grestore
-
- newpath
- letrad bla sub neg letheight neg moveto
- letrad bla sub neg letheightlow nadj sub lineto
- letrad bla add letheightlow nadj add neg lineto
- letrad bla add letheight lineto
- reversepath
- % extra space is to turn the tight bend in the N.
- ( YOU MAY ANONYMOUS FTP THIS BUTTON'S POSTSCRIPT PROGRAM)
- 0 pathtext
-
- % give us a U !
- 0 setgray
- center_dim
- /gxcenter letrad 2 mul letsep add neg def
- u_path
- stroke
- 1 setgray
-
- outside_dim
- u_path
- ( UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE.)
- 0 pathtext
-
- inside_dim
- u_path
- reversepath
- ( THIS GNU BUTTON DESIGN MAY BE FREELY REDISTRIBUTED)
- 0 pathtext
-
- % what does it spell?!? GNU !!
- grestore
- showpage
-